package com.shuke.medical.insure.remote.body;

import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/***
 * @title ReqBodyMedicalInsure
 * @description： 医保请求体
 * @author woo hua
 * @version 1.0.0
 * @create 2023/3/22 17:39
 **/
@Data
@Accessors(chain = true)
@ApiModel("医保请求体")
public class ChsRequestBody {

    /**
     * 1.	infno	交易编号	字符型	6		Y	交易编号详见接口列表
     */
    @ApiModelProperty("交易编号")
    private String infno;

    /**
     * 2.	msgid	发送方报文ID	字符型	30		Y	定点医药机构编号(12)+时间(14)+ 顺序号(4)
     * 时间格式：yyyyMMddHHmmss
     */
    @ApiModelProperty("发送方报文ID")
    private String msgid;

    /**
     * 3.	insuplc_admdvs	参保地医保区划	字符型	6			如果参保人个人待遇业务办理时，此项为必填。见医保区划表。
     */
    @ApiModelProperty("参保地医保区划")
    private String insuplc_admdvs;

    /**
     * 4.	mdtrtarea_admvs	就医地医保区划	字符型	6		Y
     */
    @ApiModelProperty("就医地医保区划")
    private String mdtrtarea_admvs;

    /**
     * 5.	dev_no	设备编号	字符型	100
     */
    @ApiModelProperty("设备编号")
    private String dev_no;

    /**
     * 6.	dev_safe_info	设备安全信息	字符型	2000、
     */
    @ApiModelProperty("设备安全信息")
    private String dev_safe_info;

    /**
     * 7.	signtype	签名类型	字符型	10			固定传SM3，示例详见2.9章节
     */
    @ApiModelProperty("签名类型")
    private String signtype;

    /**
     * 8.	cainfo	数字签名信息	字符型	1024			对input按签名类型进行签名
     */
    @ApiModelProperty("数字签名信息")
    private String cainfo;

    /**
     * 9.	infver	接口版本号	字符型	6		Y	例如：“V1.0”，版本号由医保下发通知。
     */
    @ApiModelProperty("接口版本号")
    private String infver;

    /**
     * 10.	opter_type	经办人类别	字符型	3	Y	Y	1-经办人；2-自助终端；3-移动终端
     */
    @ApiModelProperty("经办人类别")
    private String opter_type;

    /**
     * 11.	opter	经办人	字符型	30		Y	传入经办人编号
     */
    @ApiModelProperty("经办人")
    private String opter;

    /**
     * 12.	opter_name	经办人姓名	字符型	50		Y
     */
    @ApiModelProperty("经办人姓名")
    private String opter_name;

    /**
     * 13.	inf_time	交易时间	字符型	19		Y	格式：yyyy-MM-dd HH:mm:ss
     */
    @ApiModelProperty("交易时间")
    private String inf_time;

    /**
     * 14.	fixmedins_code	定点医疗机构编号	字符型	30		Y
     */
    @ApiModelProperty("定点医疗机构编号")
    private String fixmedins_code;

    /**
     * 15.	sign_no	签到流水号	字符型	100			通过签到【9001】交易获取
     */
    @ApiModelProperty("签到流水号")
    private String sign_no;

    /**
     * 16.	input	交易输入	字符型	40000		Y
     */
    @ApiModelProperty("交易输入")
    private JSONObject input;

    /**
     * 17.	recer_sys_code	接收方系统代码	字符型	10		Y	用于多套系统接入，区分不同系统使用
     */
    @ApiModelProperty("接收方系统代码")
    private String recer_sys_code;
}
